package com.ylbh.modules.home.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ylbh.common.pojo.home.dto.BusinessIntegralDTO;
import com.ylbh.common.pojo.home.dto.ClassifiedSalesDTO;
import com.ylbh.common.pojo.home.dto.OrderRingDiagramDTO;
import com.ylbh.common.pojo.home.dto.SingleQuantityTrendDTO;
import com.ylbh.common.pojo.home.vo.*;
import com.ylbh.modules.business.entity.ShoppingUser;
import com.ylbh.modules.sys.entity.SysUserEntity;

import java.util.List;

public interface HomeService extends IService<ShoppingUser> {

    /**
     * 首页-待处理事务
     * @return
     */
//    List<HomeToBeProcessedVO> queryToBeProcessed();
    List<Integer> queryToBeProcessed();

    /**
     * 首页-数据概览
     * @return
     */
    HomeDataOverviewVO queryDataOverview();

    /**
     * 首页-商城商品信息
     * @return
     */
    List<HomeMallInformationVO> queryMallInformation();

    /**
     * 首页-订单环形图
     * @param orderRingDiagramDTO
     * @return
     */
    List<?> queryOrderRingDiagram(OrderRingDiagramDTO orderRingDiagramDTO);

    /**
     * 首页-单量走势
     * @Param singleQuantityTrendDTO
     * @return
     */
    HomeTrendVO querySingleQuantityTrend(SingleQuantityTrendDTO singleQuantityTrendDTO);

    /**
     * 消费排行
     * @param timeRange
     * @param type
     * @return
     */
    List<HomeConsumptionRankingVO> queryConsumptionRanking(String timeRange, Integer type, Boolean sortType);

    /**
     * 商城各分类商品销量
     * @param classifiedSalesDTO
     * @return
     */
    List<ClassifiedSalesVO> queryClassifiedSales(ClassifiedSalesDTO classifiedSalesDTO);

    /**
     * 联盟店积分走势
     * @param businessIntegralDTO
     * @return
     */
    HomeTrendVO queryBusinessIntegral(BusinessIntegralDTO businessIntegralDTO);

    /**
     * 查询出所有非公司系统用户的信息
     * @return
     */
    List<Integer> queryAllUserId();
}
